package com.centling.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.centling.dao.IPlanDao;
import com.centling.entity.Plan;
import com.centling.service.IOrderService;
import com.centling.service.IPlanService;

/**
 * 生产计划实现类
 * 
 * @author cyril
 * @date 2017年4月27日
 * @version V1.0
 */
@Service
public class PlanServiceImpl implements IPlanService {

	@Autowired
	public IPlanDao planDao;

	@Autowired
	public IOrderService orderService;
	
	@Override
	public void updatePlan() {
		//获取总订单产品数量
		Integer orderCount = orderService.getOrderCount();
		//获取生产计划数据
		Plan plan = planDao.getPlanList().get(0);
		//修改生产计划表的当日计划数据
		planDao.updatePlan(plan);
	}

	@Override
	public void updatePlan(Plan plan) {
		planDao.updatePlan(plan);
	}

	/**
	 * 更新生产计划数据
	 */
	@Override
	public void updatePlanData() {
		// 获取生产计划List
		List<Plan> planList = planDao.getPlanList();
		// 遍历List
		for (Plan plan : planList) {
			// 获取当日计划
			Integer dayPlan = plan.getDayPlan();
			// 获取当前计划
			Integer currentPlan = plan.getCurrentPlan();
			// 获取当前产量
			Integer currentProduction = plan.getCurrentProduction();
			// 获取差异数量
			Integer difference = plan.getDifference();

			// 修改当前计划
			plan.setCurrentPlan(dayPlan - 10);
			// 修改当前产量
			plan.setCurrentProduction(currentProduction + 1);
			// 修改差异
			plan.setDifference(plan.getCurrentPlan() - plan.getCurrentProduction());
			//如果当前产量大于等于当前计划,修改当前产量的值
			if(currentProduction>=currentPlan){
				plan.setCurrentProduction(currentProduction-30);
			}
			//修改生产计划
			planDao.updatePlan(plan);
		}
	}

}
